<template>
  <div>
    <custom-table
      :columns="columns"
      :query="queryParams"
      :show-row-btn="['delete']"
      :show-head-btn="['delete']"
      :head-btn-text="{ save: '手工申请入住' }"
      :row-btn="rowBtn"
      @tap-head-btn="onTapHeadBtn"
      @tap-row-btn="onTapRowBtn"
      @row-dblclick="onRowDbClick"
      v-bind="$attrs"
      v-on="listeners"
    >
    </custom-table>

    <allot-room
      :visible.sync="repairUserVisible"
      :detail.sync="repairUserDetail"

      @submit="onSubmitRepair"
    >
    </allot-room>
  </div>
</template>

<script>
import tableMixin from '@/utils/mixin/custom-table'
import AllotRoom from './allotRoom'
// import curd from '@/api/curd'
import { showLoading, hideLoading } from '@/utils'
// import mock from '@/utils/mixin/mock'
// import AllotRoom from './allotRoom'
// var Mock = require('mockjs')

export default {
  data() {
    return {
      repairUserVisible: false,
      repairUserDetail: {},
      columns: [
        { name: '用户名称', field: 'user.real_name', width: 150 },
        { name: '工作单位', field: 'user.word_unit', width: 150 },
        { name: '性别', field: 'sex', label: true, width: 150 },
        { name: '状态', field: 'alone', label: true, width: 150 },
        // { name: '房间朝向', field: 'direction', width: 150 },
        // { name: '手机号', field: 'tel', width: 150 },
        // { name: '房型', field: 'room_type', type: 'tag' },
        // { name: '入住时间', field: 'time', type: 'tag' },
        { name: '状态', field: 'status', label: true, type: 'tag', opts: {} },
        { name: '驳回备注', field: 'back_mark', opts: {} },
        { name: '备注', field: 'mark', type: 'content' },
        { name: '添加时间', field: 'create_time' }
      ]
    }
  },
  components: {
    AllotRoom
  },
  mixins: [
    tableMixin
    // mock
  ],
  computed: {
    // rowBtn() {
    //   return [
    //     {
    //       name: '分配',
    //       key: 'share',
    //       input: [
    //         {
    //           name: '小区',
    //           field: 'housing_id',
    //           opts: {
    //             control: 'housing',
    //             name: 'name',
    //             required: true,
    //             reload: true,
    //             field: 'id'
    //           },
    //           type: 'select_table'
    //         },
    //         {
    //           name: '房型',
    //           field: 'type_name',
    //           required: true,
    //           opts: {
    //             control: 'roomType',
    //             name: 'name',
    //             reload: true,
    //             field: 'id'
    //           },
    //           type: 'select_table'
    //         },
    //         {
    //           name: '房间',
    //           field: 'id',
    //           opts: {
    //             control: 'room',
    //             name: 'name',
    //             required: true,
    //             query(formData, detail) {
    //               // console.log('输出了', formData)
    //               var query = {}
    //               if (formData.housing_id) {
    //                 query['filter[housing_id]'] = formData.housing_id
    //               }
    //               if (formData.type_name) {
    //                 query['filter[room_type]'] = formData.type_name
    //               }
    //               // query['filter[status]'] = 1
    //               return query
    //             },
    //             reload: true
    //           },
    //           type: 'select_table',
    //           visible(formData, detail) {
    //             // console.log('打印', formData)
    //             return formData.housing_id && formData.type_name
    //           }
    //         },
    //         // { name: '图片', field: 'image', type: 'image', width: 150 },
    //         // { name: '链接', field: 'link', type: 'link', width: 150 },
    //         // { name: '状态', field: 'status', label: true, type: this.checkAuth('change') ? 'switch' : 'tag', opts: {} },
    //         { name: '添加时间', field: 'create_time', required: true }
    //       ]
    //       // show: this.roomVisible,

    //       // confirm: '确认进行分配房间？'
    //     }, {
    //       name: '驳回',
    //       key: 'back',
    //       confirm: '是否要驳回申请',
    //       input: function (row) {
    //         return [
    //           {
    //             name: '状态',
    //             field: 'examine_status',
    //             list: ['驳回'],
    //             // label: 'currency',
    //             opts: {
    //               required: true
    //             },
    //             type: 'radio',
    //             value: 0
    //           },
    //           { name: '驳回备注', field: 'back_content', required: true, opts: {
    //             required: true
    //           }, value: row.back_content }
    //         ]
    //       }
    //     }
    //   ]
    // }
  },
  props: {},
  filters: {},
  created() {},
  methods: {
    // 打开分配弹窗
    onTapRowBtnShare(arge) {
      this.repairUserVisible = true
      this.repairUserDetail = arge
      console.log('成功点击', arge)
      // return new Promise((resolve, reject) => {
      //   this.$refs.detailForm.validate((valid, obj) => {
      //     const value = this.value
      //     console.log('value', value, obj)
      //     if (valid) {
      //       resolve(value)
      //       if (emit) {
      //         this.$emit('submit', value)
      //       }
      //     } else {
      //       reject(obj)
      //       this.$message({
      //         type: 'error',
      //         message: '请检查输入的内容'
      //       })
      //     }
      //   })
      // })
    },
    onSubmitRepair(data) {
      // data.push({ id: this.repairUserDetail.id })
      data['id'] = this.repairUserDetail.id
      data['user_id'] = this.repairUserDetail.user_id
      console.log('我被提交了', data)
      console.log('我是被点击详情', this.repairUserDetail)
      showLoading('分配中...')
      this.curd.post('allot', data).then(res => {
        hideLoading()
        this.repairUserVisible = false
        this.onTapHeadBtnFlush({})
      }, hideLoading)
      // return curd('roomLeaseRecord').update(data, this.repairUserDetail.id)
    },
    // 取消双击编辑功能
    onRowDbClick() {}
    /*
    onLoad() {
      Mock.Random.extend({
        roomType(date) {
          return this.pick(['单间', '一房一厅', '两房一厅', '三房一厅', '豪华套房'])
        },
        sex() {
          return this.pick(['男', '女'])
        },
        company() {
          return this.pick(['百度', '阿里巴巴', '腾讯', '华为', '小米', '搜狗', '新浪', '网易']) + '公司'
        }
      })
      var data = Mock.mock({
        // 属性 list 的值是一个数组，其中含有 1 到 10 个元素
        'list|20': [{
          // 属性 id 是一个自增数，起始值为 1，每次增 1
          'id|+1': 1,
          'nickname': '@cname',
          'company': '@company',
          'tel': '13712341234',
          'time': '2022-01-01~2022-01-31',
          'create_time': '@now',
          'room_type': '@roomtype',
          'sex': '@sex'
        }]
      })
      console.log('mock', data)

      this.setMockData(data)
    }
    */
  }
}
</script>

<style lang="scss">
</style>
